package Entities;

import java.util.*;

import javax.persistence.*;


@Entity
@Table(name="clientes_regulares")
public class ClienteRegular extends Cliente {

	@Column(nullable = false)
	private float deudaMaximaAutorizada;
	
	@Column(nullable = false)
	private float importePedirAutorizacion;
	
	@Column(nullable = false)
	private byte[] certificadosHabilitantes;
	
	@Column(nullable = false)
	private boolean conConvenioLogistica;
	
	@Column(nullable = false)
	private float saldoCuenta;
	
	@OneToMany
	@JoinColumn(name="cliente_id")
	private Set<ReceptorAutorizado> receptoresAutorizados = new HashSet<ReceptorAutorizado>();
	
	@OneToMany
	@JoinColumn(name="cliente_id")
	private Set<Producto> productos = new HashSet<Producto>();

	
	/**
	 * Getters and Setters
	 */
	
	public float getDeudaMaximaAutorizada() {
		return deudaMaximaAutorizada;
	}

	public void setDeudaMaximaAutorizada(float deudaMaximaAutorizada) {
		this.deudaMaximaAutorizada = deudaMaximaAutorizada;
	}

	public float getImportePedirAutorizacion() {
		return importePedirAutorizacion;
	}

	public void setImportePedirAutorizacion(float importePedirAutorizacion) {
		this.importePedirAutorizacion = importePedirAutorizacion;
	}

	public byte[] getCertificadosHabilitantes() {
		return certificadosHabilitantes;
	}

	public void setCertificadosHabilitantes(byte[] certificadosHabilitantes) {
		this.certificadosHabilitantes = certificadosHabilitantes;
	}

	public boolean isConConvenioLogistica() {
		return conConvenioLogistica;
	}

	public void setConConvenioLogistica(boolean conConvenioLogistica) {
		this.conConvenioLogistica = conConvenioLogistica;
	}

	public float getSaldoCuenta() {
		return saldoCuenta;
	}

	public void setSaldoCuenta(float saldoCuenta) {
		this.saldoCuenta = saldoCuenta;
	}

	public Set<ReceptorAutorizado> getReceptoresAutorizados() {
		return receptoresAutorizados;
	}

	public void setReceptoresAutorizados(
			Set<ReceptorAutorizado> receptoresAutorizados) {
		this.receptoresAutorizados = receptoresAutorizados;
	}

	public Set<Producto> getProductos() {
		return productos;
	}

	public void setProductos(Set<Producto> productos) {
		this.productos = productos;
	}

}
